
import pymysql
class Student:
	#构造方法实现数据库连接
	def __init__(self):
		self.db=pymysql.connect(host='localhost',user='root',password='',db='mydb',charset='utf8')
	#使用cursor()方法创建以游标对象cursor
		self.cursor=self.db.cursor()
	#定义一个方法实现查询功能
	def findAll(self):
		#定义一个查询语句
		self.sql1 ="select * from stu"
		#使用execute()方法执行SQL语句
		self.cursor.execute(self.sql1)
		#使用fetall()方法获取所有数据
		while True:
			self.data=self.cursor.fetchone()
			if self.data==None:
				break
			print(self.data)
	#定义一个方法实现添加功能
	def insert(self,stulist):
		self.data=tuple(stulist)
		self.sql2="insert into stu(name,age,sex,classid) values('%s','%d','%s','%s')"%(self.data)
		try:
			self.cursor.execute(self.sql2)
			self.db.commit()
		except Exception as e:
			#事务回滚
			self.db.rollback()
			print("SQL执行错误,原因:",e)
	#定义一个方法实现删除功能
	def dell(self,sid):
		self.sql3="delete from stu where id='%d'"%(sid)
		try:
			self.cursor.execute(self.sql3)
			self.db.commit()
		except Exception as e:
			#事务回滚
			self.db.rollback()
			print('SQL执行错误,原因:',e)
	#定义析构方法关闭数据库
	def __del__(self):
		self.db.close()

stu=Student()
#定义一个方法打印初始信息
def printInfo():
	print("="*12,"欢迎进入学生管理系统!","="*12)
	print("{0:1} {1:12} {2:14}".format("","1.浏览学生信息","2.添加学生信息"))
	print(" ")
	print("{0:1} {1:12} {2:14}".format("","3.删除学生信息","4.退出系统"))
	print("="*47)
printInfo()
while True:
	#获取键盘输入的值
	key=int(input("请输入功能对应的序列号:"))
	if key==1:
		print("="*14,"浏览学生信息","="*14)
		stu.findAll()
		input("按下Enter键继续")
		printInfo()	
	elif key==2:
		print("="*14,"添加学生信息","="*14)
		stu.findAll()
		stulist=[]
		stulist.append(input("请输入姓名:"))
		stulist.append(int(input("请输入年龄:")))
		stulist.append(input("请输入性别w/m:"))
		stulist.append(input("输入班级编号:"))
		stu.insert(stulist)
		stu.findAll()
		input("按下Enter键继续")
		printInfo()
	elif key==3:
		print("="*14,"删除学生信息","="*14)
		stu.findAll()
		sid=int(input("请输入删除学生的序号:"))
		stu.dell(sid)
		stu.findAll()
		input("按下Enter键继续")
		printInfo()
	elif key==4:
		print("="*14,"退出系统","="*14)
		break
	else:
		print("您输入的信息有误,情重新输入!")
		printInfo()
	